假设一个合法的学号由四位年级号、两位学院号与四位班级号、三位班内编号依次构成，一共13位数（本题中，一个合法的学号应仅包含数字），利用指针和数组实现一个函数fun()
原型：int fun(const char *p, int result[]);
功能：将以字符形式存放的自己学号转换成四个整数（依次表示：年级、学院、班级、学号），并存放于一个整数数组中。
参数说明：p为传入的学号字符串，以'\0'结束；result传入用于接收返回结果的整型数组首地址，规定其0号下标开始依次存放“年级、学院、班级、学号”。
返回值：如果通过p传入的是合法的学号，则本函数返回1；如果传入的学号非法，则本函数返回0.
例如：如果p中传入的学号为2012019050001，result的前四个元素应该依次为2012、1(01即为1）、9050和1（001即为1）
注意：
1. 在函数fun中，不要有任何输出（如调用printf或puts等函数），否则视为错误
2. 在编写完fun后，你可以编写main函数用于测试fun函数的功能
3. 只需上传fun函数及其依赖的头文件，不必上传用于测试的main函数
4. 在fun中，要考虑输入学号异常的情况

假设一个合法的学号由四位年级号、两位学院号与四位班级号、三位班内编号依次构成，一共13位数（本题中，一个合法的学号应仅包含数字），利用指针和数组实现一个函数fun()
原型：int fun(const char *p, int result[]);
功能：将以字符形式存放的自己学号转换成四个整数（依次表示：年级、学院、班级、学号），并存放于一个整数数组中。
参数说明：p为传入的学号字符串，以'\0'结束；result传入用于接收返回结果的整型数组首地址，规定其0号下标开始依次存放“年级、学院、班级、学号”。
返回值：如果通过p传入的是合法的学号，则本函数返回1；如果传入的学号非法，则本函数返回0.
例如：如果p中传入的学号为2012019050001，result的前四个元素应该依次为2012、1(01即为1）、9050和1（001即为1）
注意：
1. 在函数fun中，不要有任何输出（如调用printf或puts等函数），否则视为错误
2. 在编写完fun后，你可以编写main函数用于测试fun函数的功能
3. 只需上传fun函数及其依赖的头文件，不必上传用于测试的main函数
4. 在fun中，要考虑输入学号异常的情况




#include<stdio.h>
#include<string.h>
int fun(const char *p, int result[])
{
	int num[13]={0},i;
	if(p==NULL||strlen(p)!=13)
		return 0;
	else
	{
	   while(*p!='\0')
	   {
		 if((*p)>='0'&&(*p)<='9');
		 else
			 return 0;  
		  p++;
	   }
       for(i=0;i<13;i++)
		 num[i]=(int)(*((p-13)+i)-'0');
       result[0]=num[0]*1000+num[1]*100+num[2]*10+num[3];
	   result[1]=num[4]*10+num[5];
	   result[2]=num[6]*1000+num[7]*100+num[8]*10+num[9];
	   result[3]=num[10]*100+num[11]*10+num[12];
	   return 1;
	 }
}